const express = require('express')

// app-->application --> web服务的实例
const app = express()

const port = 3000

// 1.请求的方法来区分（get post put delete）
app.get('/demo', (req, res) => {
  // req:请求对象
  // res:服务器响应对象
  res.json({
    message: 'hello express route from get route'
  })
})
app.post('/demo', (req, res) => {
  // req:请求对象
  // res:服务器响应对象
  res.json({
    message: 'hello express route from post route'
  })
})

// 2.通过uri路径区分（www.baidu.com/a/c/a.html）
app.get('/user/byname/:name', (req, res) => {
  let name = req.params.name
  res.json({
    name
  })
})

app.get('/user/byid', (req, res) => {
  let { id } = req.query
  res.json({
    id
  })
})

app.all('/all', (req, res) => {
  res.json({
    message: 'all',
    method: req.method
  })
})

// app.all('*', (req, res) => {
//   res.json({
//     message: '*',
//     method: req.method,
//     uri: req.url,
//   })
// })

app.use('/testuse', (req, res) => {
  res.json({
    message: 'testuse',
    method: req.method,
  })
})

app.use((req, res) => {
  res.json({
    message: 'testuse2',
    method: req.method,
    uri: req.url,
  })
})

app.listen(port, () => {
  console.log('express服务器启动成功')
})